<html>
<body>
Reports mismatches between light service levels and its constructors.
<p>The following problems are reported:</p>
<ul>
  <li>A light service class has a constructor with two parameters of types <code>com.intellij.openapi.project.Project</code>
    and <code>kotlinx.coroutines.CoroutineScope</code>, or one parameter of type <code>Project</code> is not annotated as
    a project-level service.
  </li>
  <li>A light service class annotated as an application-level service does not have a no-arg constructor, nor a constructor with one
    parameter of type <code>CoroutineScope</code>.
  </li>
</ul>
<p></p>
<p>Example (Kotlin):</p>
<pre><code lang="kotlin">
@Service                              // Suggest specifying 'Service.Level.PROJECT' parameter in '@Service' annotation
class MyService(val project: Project) // Suggest removing the parameter from constructor 'MyService'
</code></pre>
<p></p>
<p>After applying the quick-fix that suggests specifying 'Service.Level.PROJECT' parameter in '@Service' annotation is applied:</p>
<pre><code lang="kotlin">
@Service(Service.Level.PROJECT)
class MyService(val project: Project)
</code></pre>
<p>After applying the quick-fix that suggests removing the parameter from constructor 'MyService':</p>
<pre><code lang="kotlin">
@Service
class MyService()
</code></pre>

<!-- tooltip end -->
<p><small>New in 2023.2</small>
</body>
</html>
